Modular Static Program Analysis
نویسندگان
چکیده
The purpose of this paper is to present four basic methods for compositional separate modular static analysis of programs by abstract interpretation: – simplification-based separate analysis; – worst-case separate analysis; – separate analysis with (user-provided) interfaces; – symbolic relational separate analysis; as well as a fifth category which is essentially obtained by composition of the above separate local analyses together with global analysis methods.
منابع مشابه
Compositional Separate Modular Static Analysis of Programs by Abstract Interpretation
The purpose of this paper is to present four ba sic methods for compositional separate modular static analy sis of programs by abstract interpretation: • Simplification-based separate analysis; • Worst-case separate analysis; • Separate analysis with (user-provided) interfaces; • Symbolic relational separate analysis; as well as a fifth category which is essentially obtained by composition of...
متن کاملModularization of 0-CFA Makes It Polyvariant
This article shows that (1) deriving a modular version (in the framework of incremental analysis) from a whole-program CFA makes the resulting analysis polyvariant at modulelevel, (2) if the original whole-program CFA was less accurate than or incomparable to module-level polyvariant analyses, then the correctness of its modular version may not be proven in general with respect to the original ...
متن کاملModular Shape Analysis for Dynamically Encapsulated Programs
We present a modular static analysis which identifies structural (shape) invariants for a subset of heap-manipulating programs. The subset is defined by means of a non-standard operational semantics which places certain restrictions on aliasing and sharing across modules. More specifically, we assume that live references (i.e., used before set) between subheaps manipulated by different modules ...
متن کاملModular Analysis via Specifications as Values
Modular static analysis requires treating some portion of the program opaquely. To enable such analysis, we introduce a notion of abstract reduction semantics. Opaque components are approximated by their specifications, which in turn are treated as abstract values during reduction. We demonstrate the technique by applying it to two kinds of specifications for higher-order languages: types and f...
متن کاملA Modular and Symbolic Approach to Static Program Analysis a Dissertation Submitted to the Department of Computer Science and the Committee on Graduate Studies of Stanford University in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy
This thesis presents novel static analysis techniques for improving the quality of realworld software. The static analysis techniques we describe are immediately useful for uncovering errors in real code bases, as they are fully automatic, report few false alarms, and scale to large applications. The underlying machinery that allows us to develop these analyses is comprised of a symbolic SAT an...
متن کامل